package work;
//2. 统计一个目录中所有文件的个数

import java.io.File;
import java.math.RoundingMode;
import java.text.DecimalFormat;

public class Work2 {
    public static void main(String[] args) {
         File file=new File("C:\\Users\\Administrator\\Desktop\\Test");
         System.out.println(outPut(getSize(file)));
    }

    public static boolean delete(File file){
        if(file.exists() && file.isFile()){
            return file.delete();
        }else if(file.exists()){
            File[] files=file.listFiles();
            for (File file1 : files) {
                delete(file1);
            }
        }
       return file.delete();//最后删除自身
    }

    public static long getSize(File file){
        if(file.exists() && file.isFile()){
            return file.length();
        } else if (file.exists()) {
            File[] files=file.listFiles();
            long siseIn=0;
            for (File file1 : files) {
                siseIn+=getSize(file1);
            }
            return siseIn;
        }
       return 0;
    }

    public static String outPut(long i){
        String str="";
        final long KB = 1024;
        final long MB = KB*1024;
        final long GB = MB*1024;
        DecimalFormat mat=new DecimalFormat("#.00");
        // DecimalFormat是一个用于数字格式化的类
        // 它允许您以特定的格式输出数字，例如保留指定位数的小数或使用货币符号。
        mat.setRoundingMode(RoundingMode.DOWN);//只保留小数 不四舍五入
        if(i<KB){
            str+="byte";
        }else if(i<MB){
            str+=mat.format((i/1.0/KB))+"kb";
        } else if (i<GB) {
            str+=mat.format(i/1.0/MB)+"mb";
        } else if (i<GB*1024) {
            str+=mat.format(i/1.0/GB)+"gb";
        }
        return str;
    }
}
